
import time
#缩写一个函数show_time，接受参数num、delay、string
#函数的操作是打印"当前系统时间+string"，一共打印num次，每打印一次间隔delay秒
def show_time(num,delay,string):
    for i in range(1,num+1):    #循环num次
        sys_time=time.strftime('%Y-%m-%d %H:%M:%S',time.localtime())
        print(f'{sys_time}\t{string}')
        time.sleep(delay)
#1、单线程:串行工作，先执行任务1，任务1完成之后再执行任务2
start=time.time()
show_time(3,2,"任务1")
show_time(5,1,"任务2")
end=time.time()
print(f"任务旱行结束，总耗时{end-start:.2f}秒")
#2、多线程:并行工作，任务1和任务2同时执行
import threading
start = time.time()
#创建线程函数Thread(target=调用的函数名,args=(被调用函数要接受的实参))
th1=threading.Thread(target=show_time,args=(3,2,'任务1'))
th2=threading.Thread(target=show_time,args=(5,1,'任务2'))
# 执行线程
th1.start()
th2.start()
#合并结束线程
th1.join()
th2.join()
end=time.time()
#提示任务结束
print(f'任务并行结束，总耗时{end-start:.2f}秒')

# import time
# def show_time(num,delay,string):
#     for i in range(1,num+1):
#         sys_time=time.strftime('%Y-%m-%d %H:%M:%S',time.localtime())
#         print(f'{sys_time}\t{string}')
#         time.sleep(delay)
# start=time.time()
# show_time(5,1,'任务1')
# show_time(4,2,'任务2')
# end=time.time()
# print(f'任务结束，总耗时{end-start}秒')
#
# import threading
# start=time.time()
# th1=threading.Thread(target=show_time,args=(5,1,'任务1'))
# th2=threading.Thread(target=show_time,args=(4,2,'任务2'))
# th1.start()
# th2.start()
# th1.join()
# th2.join()
# end=time.time()
# print(f'任务结束，总耗时{end-start}秒')